
// 定义starter.services 模块
// services.js包含了通用的数据，数据将运用在设计的应用程序当中
angular.module('starter.services', [])

// 定义服务 Chats
.factory('Chats', function() {
  // Might (可以)use a resource （资源） here that returns a JSON array 返回一个json数组

  // Some fake testing data
  // chats 是一个数组，里面是好几个对象
  // 每个对象就是代表每个人的信息
  // 属性： id，name，lastText（说的话），face 头像图片
  var chats = [{
    id: 0,
    name: 'Ben Sparrow',
    lastText: 'You on your way?',
    face: 'img/ben.png'
  }, {
    id: 1,
    name: 'Max Lynx',
    lastText: 'Hey, it\'s me',
    face: 'img/max.png'
  }, {
    id: 2,
    name: 'Adam Bradleyson',
    lastText: 'I should buy a boat',
    face: 'img/adam.jpg'
  }, {
    id: 3,
    name: 'Perry Governor',
    lastText: 'Look at my mukluks!',
    face: 'img/perry.png'
  }, {
    id: 4,
    name: 'Mike Harrington',
    lastText: 'This is wicked good ice cream.',
    face: 'img/mike.png'
  }];

//  返回一个对象，里面
// 1 all方法：返回信息，chat数组
  return {
    all: function() {
      return chats;
    },
// 2 remove ： splice  两个参数，删除数组的一部分，返回值是被删除的内容
// 参数1： 开始位置，索引值
// 参数2：删除的个数

//  remove 方法用于删除一个联系人
    remove: function(chat) {
    	console.log(chat);
    	//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
      chats.splice(chats.indexOf(chat), 1);
    },
    // 3 get 方法： 得到联系人
    //  用for 循环遍历数组chats，当传入的id和某个联系人的id相同时，返回那个联系人
    get: function(chatId) {
    	// 遍历chats 数组
      for (var i = 0; i < chats.length; i++) {
        if (chats[i].id === parseInt(chatId)) {
          return chats[i];
        }
      }
      return null;
    }
  };
});
